home *** CD-ROM | disk | FTP | other *** search
-
- /* Memory allocation definitions */
-
- typedef unsigned int size_t ; /* Storage units (MSC 5.1) */
- typedef size_t SUNIT ; /* Storage units (memory procs) */
-
- typedef struct sheader { /* Storage header block */
- SUNIT HeaderSize ; /* Size of header block */
- SUNIT BytesUsed ; /* Bytes used for this block */
- SUNIT Collapsed ; /* Collapsed flag for this block */
- SUNIT LFBlock ; /* Largest free block size */
- } HEADER ; /* (valid only if Collapsed=TRUE) */
-
- #define NALLOC 16 /* Number of bytes per paragraph */
- #define SSIZE sizeof ( SUNIT ) /* Size of SUNIT */
- #define HSIZE sizeof ( HEADER ) /* Size of HEADER */
- #define MAXBLOCK 0xffff /* Maximum block size */
- /* Maximum allocation possible */
- #define MAXALLOC NALLOC * ( ( MAXBLOCK-HSIZE-SSIZE ) / NALLOC )
- #define MINALLOC 128 /* Minimum MBSize value */
-
- #define TRUE 1
- #define FALSE 0
- #define FREE 1 /* FREE block indicator */
-
- typedef struct STable { /* Allocated blocks table */
- SUNIT Size ; /* Size allocated for a block */
- HEADER *Header ; /* Pointer to allocated block */
- } ATABLE ;